The present invention relates to digital signal processing, and more particularly to digital audio stream playback methods and devices.
In audio applications, it is common to mix several sources to form a final output. For example, in an audio production environment or on a personal audio player, beginning new and ending old streams are combined during a crossfade operation for a smooth transition in which the ending stream is faded out while the beginning stream is faded in. These streams may be further combined with a user interface (UI) sound generated in response to keypresses or other external events. Directly summing these streams together might cause saturation depending on the stream levels. An alternative would be to “gain down” each stream prior to mixing them. For example, when combining four streams, avoid saturation by attenuating each stream by −12 dB prior to mixing.
While this certainly would work, in many cases the approach would be too conservative and leave too much head room. Adjusting these weights depending on the status of each stream is a superior solution. For example, if a stream of music were playing, it could be gained down during a user interface (UI) sound to make room for this new stream. When the UI sound finished playing, the music stream would be gained back up to take advantage of the available signal range. This approach is practiced manually in production environments by audio engineers operating studio mixing boards. One track of music might be faded down to make room for another track, and then faded up when the second track is finished.
U.S. Pat. No. 4,947,440 discloses a modification of the theoretical crossfade curves for two sources (one fades out while the second fades in) to avoid the perceptual cut at a fade end.
U.S. Pat. No. 5,581,480 discloses non-linear (soft) clipping for mixing of multiple sources to avoid saturation.